Создание воспоминаний
Тут вы узнаете, как Мари создаёт воспоминания
Итак, каждый раз, когда пользователь задаёт вопрос Мари и когда она ему отвечает, считаются токены.
Details
Например:
Пользователь ввёл сообщение " 2 + 2 = ", и Мари посчитала токены этого сообщения
TIP
Функция, которая считает токены, находится https://codeberg.org/Better_Look_Next_Time/Mary_CoreMind/src/branch/main/src/helpers/counterTokens.ts
Потом Мари ответила пользователю сообщением, и она также посчитала токены своего ответа.
Как только количество токенов станет равным 1000, то вызовется функция Compressed
async Compressed(tokens: number) {
if (tokens >= 1000) {
const model = this.thoughtsArray[0]
const historyChat = getHistoryChat(this.chatId, model, getCounterChat(this.chatId, model))
const historyUser = getHistoryUser(this.chatId, this.userId, getCounterUser(this.chatId, this.userId))
const { commpresedMemory, userCharacter } = await memoryCompression(historyChat, historyUser)
insertUsersMessage(this.chatId, this.userId, 'character', userCharacter, 1)
insertChatMemory(this.chatId, commpresedMemory, 1)
}
}
Что тут происходит:
- Функция проверяет количество токенов
- Получает
id
первой нейронки в массивеthoughtsArray
- Получает историю сообщений чата, используя id чата и id нейронки
- Получает сообщения пользователя, используя id чата и id пользователя
- Отдаёт функции
memoryCompression
историю сообщений чата и сообщения пользователя - Получает сжатую память истории чата и описание характера пользователя
- Добавляет характер пользователя в сообщения пользователя с типом
character
- Добавляет сжатую память истории чата в историю чата с типом
memory
INFO
Функцию memoryCompression можно посмотреть здесь https://codeberg.org/Better_Look_Next_Time/Mary_CoreMind/src/branch/main/src/models/openai/compresed.ts
IMPORTANT
Вы скорее всего задались вопросом, почему мы получаем id первой нейронки в массиве thoughtsArray
. Дело в том, что история сообщений для всех нейронок одинаковая. И чтобы сделать Мари более гибкой, мы сделали так.
Потом объединитель будет использовать эти воспоминания для объединения мыслей Мари